1. Field of the Invention
The present application relates to a server communication channel architecture and implementation method, and more particularly, to a multi-process, multi-threaded server communication channel architecture and implementation method.
2. Description of the Related Art
Client/server system architectures are well known in the field of network communication. Typically, in a client/server communication model, a client sends a service request to a server. The server processes the service request and responds with the result. Typically, a client computing system is coupled to a server computing system via one or more communication ports. An application program interface (“socket”) facilitates the communication between the client and the server processes at the communication port. The sockets generally execute on server computing systems and are associated with specific ports.
Several different client/server communication models are currently known for managing multiple client requests. According to one known model, the server typically creates a separate child process for each client. In this case, a child process typically inherits the socket descriptor representing the socket associated with the port at which a given client's request is received. According to another known model, the server typically creates a separate thread or task for each client. In that case, all the threads in the server process usually share the same socket descriptor.
Accordingly, an object-oriented server communication channel architecture and implementation method is needed for enabling an execution thread in a server to process a client requests from different protocols on different sockets corresponding to the client request.